package com.netease.nie.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.netease.nie.common.CommonService;
import com.netease.nie.dao.RobGoodsPeriodPersonTimeDao;
import com.netease.nie.dto.RobGoodsPeriodPersonTimeDto;
import com.netease.nie.dto.RobGoodsPeriodUserPersonTimeDto;
import com.netease.nie.model.RobGoodsPeriodPersonTime;

@Service
public class RobGoodsPeriodPersonTimeServiceImpl extends CommonService implements RobGoodsPeriodPersonTimeService {

	@Autowired
	private RobGoodsPeriodPersonTimeDao robGoodsPeriodPersonTimeDao;

	public List<RobGoodsPeriodUserPersonTimeDto> queryRobGoodsPeriodUserPersonTimeDtosByDisplayPeriodAndUserId(
			Integer displayPeriod, Long userId) {
		List<RobGoodsPeriodPersonTime> robGoodsPeriodPersonTimeList = robGoodsPeriodPersonTimeDao.queryRobGoodsPeriodPersonTimesByDisplayPeriodAndUserId(displayPeriod, userId);
		List<RobGoodsPeriodUserPersonTimeDto> robGoodsPeriodUserPersonTimeDtoList = generateRobGoodsPeriodUserPersonTimeDtoList(robGoodsPeriodPersonTimeList);
		return robGoodsPeriodUserPersonTimeDtoList;
	}

	public List<RobGoodsPeriodPersonTimeDto> queryRobGoodsPeriodPersonTimeDtosByDisplayPeriod(int displayPeriod) {
		List<RobGoodsPeriodPersonTime> robGoodsPeriodPersonTimeList = robGoodsPeriodPersonTimeDao.queryRobGoodsPeriodPersonTimesByDisplayPeriod(displayPeriod);
		List<RobGoodsPeriodPersonTimeDto> robGoodsPeriodPersonTimeDtoList = generateRobGoodsPeriodPersonTimeDtoList(robGoodsPeriodPersonTimeList);
		return robGoodsPeriodPersonTimeDtoList;
	}

	public List<RobGoodsPeriodUserPersonTimeDto> queryRobGoodsPeriodUserPersonTimeDtosByUserIdAndRobGoodsPeriodIds(
			long userId, List<Integer> robGoodsPeriods) {
		List<RobGoodsPeriodPersonTime> robGoodsPeriodPersonTimeList = robGoodsPeriodPersonTimeDao.queryRobGoodsPeriodPersonTimesByUserIdAndRobGoodsPeriodIds(userId, robGoodsPeriods);
		List<RobGoodsPeriodUserPersonTimeDto> robGoodsPeriodUserPersonTimeDtoList = generateRobGoodsPeriodUserPersonTimeDtoList(robGoodsPeriodPersonTimeList);
		return robGoodsPeriodUserPersonTimeDtoList;
	}

}